<?php

class PC4_Util_Validacao_Grupo extends PC4_Util_Validacao_Abstrata {
	
	public $validacoes;
	
	public function __construct($validacoes = array()) {
		$this->validacoes = $validacoes;
		foreach ($validacoes as $campo => $validacao) {
			if (is_string($validacao)) {
				$this->validacoes[$campo] = PC4_Util_Validacao_Fabrica::cria($validacao);
			}
		}
	}
	
	public function valida(&$registro, $campo, $modelo, $id = 0) {
		$ok = true;
		foreach ($this->validacoes as $campo => $validacao) {
			if (!$validacao->valida($registro, $campo, $modelo, $id)) {
				$ok = false;
			}
		}
		return $ok;
	}
}
